import axios from 'axios';

/**
 * 获取维修工列表
 */
export function getMaintenanceStaffList() {
    return axios.get('/api/users/profiles/park-employees/', {
        params: {
            employee_type: '维修工',
            pageSize: 1000 // 获取所有维修工，避免分页问题
        }
    });
}

/**
 * 获取保洁员列表
 */
export function getCleaningStaffList() {
    return axios.get('/api/users/profiles/park-employees/', {
        params: {
            employee_type: '保洁工',
            pageSize: 1000
        }
    });
}

/**
 * 获取配送员列表
 */
export function getDeliveryStaffList() {
    return axios.get('/api/users/profiles/park-employees/', {
        params: {
            employee_type: '配送员',
            pageSize: 1000
        }
    });
}

/**
 * 搜索用户
 * @param {string} query - 搜索关键词，可以是用户名、手机号或企业名
 * @returns {Promise} - 返回搜索结果
 */
export function searchUsers(query) {
    return axios.get('/api/users/search/', {
        params: { query }
    });
}

/**
 * 搜索访客
 * @param {string} query - 搜索关键词，可以是姓名或手机号
 * @returns {Promise} - 返回搜索结果
 */
export function searchVisitors(query) {
    return axios.get('/api/users/search-visitors/', {
        params: { query }
    });
}

/**
 * 获取当前用户信息
 * @returns {Promise} - 返回用户信息
 */
export function getCurrentUserInfo() {
    return axios.get('/api/users/me/');
}

/**
 * 修改用户密码
 * @param {Object} data - 包含旧密码和新密码的对象
 * @returns {Promise} - 返回操作结果
 */
export function changePassword(data) {
    return axios.post('/api/users/password/change/', data);
}

/**
 * 获取用户历史工单
 * @param {Object} params - 查询参数，包括工单类型、日期范围、分页信息等
 * @returns {Promise} - 返回工单列表
 */
export function getUserWorkOrders(params) {
    return axios.get('/api/users/work-orders/', { params });
}

/**
 * 更新用户个人资料
 * @param {Object} data - 用户资料数据
 * @returns {Promise} - 返回操作结果
 */
export function updateUserProfile(data) {
    return axios.put('/api/users/profile/update/', data);
}

/**
 * 上传用户头像
 * @param {FormData} formData - 包含头像文件的表单数据
 * @returns {Promise} - 返回操作结果
 */
export function updateAvatar(formData) {
    return axios.post('/api/users/avatar/update/', formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    });
} 